﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;

namespace WebProyectoSIETE
{
    public partial class Site1 : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie recordarNombreUsuario = Request.Cookies["recordarNombreUsuario"];
            HttpCookie recordarIdUsuario = Request.Cookies["recordarIdUsuario"];

            if(recordarNombreUsuario != null && recordarIdUsuario != null){
                Session["usuario"] = recordarNombreUsuario.Value;
                Session["idusuario"] = recordarIdUsuario.Value;
            }


            if(Session["usuario"] == null || Session["usuario"].ToString() == "")
            {
                panelLogin.Visible = true;
                menuBienvenida.Visible = false;
                hpIndice.NavigateUrl = "~/registroUsuario.aspx";
                HyperLink4.NavigateUrl = "~/registroUsuario.aspx";
            }
            else
            {
                panelLogin.Visible = false;
                menuBienvenida.Visible = true;
                LabelUsuarioConectado.Text = Session["usuario"].ToString();
                hpIndice.NavigateUrl="~/perfilUsuario.aspx";
                HyperLink4.NavigateUrl = "~/perfilUsuario.aspx";
             }
            
        }

        protected void LoginButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                String sentencia = "select * from usuario where nombreUsuario='" + UserName.Text + "' and claveUsuario='" + Password.Text + "' ;";
                DataView dv;

                SqlDataSourceLogin.SelectCommand = sentencia;

                dv = (DataView)SqlDataSourceLogin.Select(DataSourceSelectArguments.Empty);


                Session["usuario"] = UserName.Text;
                Session["idusuario"] = dv.Table.Rows[0][0].ToString();

                if (RememberMe.Checked == true)
                {
                    HttpCookie recordarNombreUsuario = Request.Cookies["recordarNombreUsuario"];
                    HttpCookie recordarIdUsuario = Request.Cookies["recordarIdUsuario"];

                    if (recordarNombreUsuario == null || recordarIdUsuario == null)
                    {
                        recordarNombreUsuario = new HttpCookie("recordarNombreUsuario", UserName.Text);
                        recordarNombreUsuario.Expires = DateTime.Now.AddMonths(12);   //La cookie expira en un año

                        recordarIdUsuario = new HttpCookie("recordarIdUsuario", dv.Table.Rows[0][0].ToString());
                        recordarIdUsuario.Expires = DateTime.Now.AddMonths(12);

                        Response.Cookies.Add(recordarNombreUsuario);
                        Response.Cookies.Add(recordarIdUsuario);
                    }

                }

                Response.Redirect("perfilUsuario.aspx");
            }
        }

        protected void lbCerrarSesion_Click(object sender, EventArgs e)
        {
            Session.RemoveAll();
            HttpCookie recordarNombreUsuario = Request.Cookies["recordarNombreUsuario"];
            HttpCookie recordarIdUsuario = Request.Cookies["recordarIdUsuario"];

            if(recordarNombreUsuario != null)
            {
                recordarNombreUsuario.Expires = DateTime.Now.AddMonths(-1);
                Response.Cookies.Add(recordarNombreUsuario);
            }

            if(recordarIdUsuario != null)
            {
                recordarIdUsuario.Expires = DateTime.Now.AddMonths(-1);
                Response.Cookies.Add(recordarIdUsuario);
            }

            Response.Redirect("Default.aspx");
        }

        protected void validarContraseña(object sender, ServerValidateEventArgs args)
        {
            SqlDataSourceLogin.SelectCommand = "SELECT * from Usuario where claveUsuario='" + Password.Text + "' and nombreUsuario='" + UserName.Text + "';";

            DataView dv = (DataView)SqlDataSourceLogin.Select(DataSourceSelectArguments.Empty);

            if (dv.Count == 0)
            {
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }

        }
    }
}